/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package controller;

import conexao.Comunicacao;
import java.util.List;
import modelo.Cidade;
import modelo.Servico;
import modelo.TipoServico;
import utilMensagem.msgMensagem;
import viewCadastros.CadServico;

/**
 *
 * @author fumio
 */
public class ServicoController {
    private CadServico cadServico;
    private msgMensagem msg;
    private Servico servico;
    private Comunicacao com;
    private TipoServico tipoServico;
    
    public ServicoController(CadServico cadServico){
        this.cadServico = null;
        this.cadServico = cadServico;
        carregarComboTipoServico();
    }
     public void registrar() {
        msg = new msgMensagem(null, true);
        if (salvar()) {
            msg.emiteMensagem("Serviço registrado com sucesso!", 100, 300);
        } else {
            msg.emiteMensagem("Não foi possível registrar o serviço!", 100, 300);
        }
    }

    private boolean salvar() {
        boolean salvar;
        try {
            if (servico == null) {
                servico = new Servico();
            }
            servico.setServico(cadServico.edtServico.getText());
            servico.setTipoServico(tipoServico);
            servico.setValorUnitario(Double.parseDouble(cadServico.edtValorUnitario.getText()));
            com = new Comunicacao();
            salvar = com.Persiste(servico);
        } catch (Exception e) {
            System.out.println("here" + e.getMessage());
            salvar = false;
        }
        return salvar;
    } 
 
    private TipoServico selecionaTipoServico(){
        com = new Comunicacao();
        List<TipoServico> listaAux;
        listaAux = com.executeSql("select ts from TipoServico ts where ts.tiposervico = " + cadServico.cmbTipoServico.getSelectedItem());
        tipoServico = (TipoServico) listaAux;
        return tipoServico;
    }
    
    private void carregarComboTipoServico(){
        com = new Comunicacao();
        List<TipoServico> lista = com.executeSql("select ts from TipoServico ts");
        for (TipoServico auxTipoServico : lista) {
            tipoServico = auxTipoServico;
            cadServico.cmbTipoServico.addItem(tipoServico.getTipoServico());
        }
        
    }
    
}
